/**
 * 
 * @param {Array} allRoutes  项目所有的路由
 * @param {Array} menuList  服务器返回的菜单名字/路由名字
 * @return {Array} 计算好的用户路由
 */

function recursionRoutes(allRoutes = [], menuList = []) {
    // console.log(allRoutes)
    //遍历allRoutes 然后对比 找到menuList中每个route对象中meta属性中title属性相同的选项,如果相同说明需要这个对象.那就添加到数组中userRoutes
    let userRoutes = []
    menuList.forEach(item => {
        allRoutes.forEach(route => {
            // 判断route.meta中有没有title 有就跟 item.title对比
            if (route.meta?.title === item.title) {
                route.meta.name = item.name //将菜单的名字映射到路由对象中
                if (route.children && route.children.length > 0) {
                    route.children = recursionRoutes(route.children, item.children)
                }
                userRoutes.push(route)
            }
        })
    })

    return userRoutes
}

export default recursionRoutes
